Section: New Results
A (Bi)linear Implementation of Strong Call-by-Value
Participant : Beniamino Accattoli.
The elegant theory of the call-by-value -calculus relies on closed terms and weak evaluation (i.e., not under abstractions) and it is well-known that the number of call-by-value -steps is a reasonable cost model. When turning to open terms or strong evaluation—that are used for instance in the implementation of Coq—the operational theory breaks, and the call-by-value -calculus has to be extended with some additional rewriting rules. In a joint work with Sacerdoti Coen [18] , a proposal for open/strong call-by-value, called fireball calculus, is studied from the point of view of cost models and abstract machines. First, it is shown that open terms introduce a new malicious behavior, making the study of cost models non-trivial. Second, it is shown that the number of -steps in the fireball calculus is a reasonable cost model. Third, a new abstract machine is introduced and its overhead is shown to be linear with respect to the number of -steps and the size of the initial term, providing a surprisingly efficient implementation scheme.